package com.hyfrogx.modules.manage.service.course;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hyfrogx.common.exception.MyException;
import com.hyfrogx.common.exception.ServiceException;
import com.hyfrogx.common.utils.Query;
import com.hyfrogx.common.utils.QueryExt;
import com.hyfrogx.modules.app.entity.VodParam;
import com.hyfrogx.modules.manage.entity.course.CourseManageSectionEntity;

import java.util.List;
/**
 * @author 罗春杰-技术部
 */
public interface CourseManageSectionService extends IService<CourseManageSectionEntity> {

    Page selectSectionPage(QueryExt queryExt);

    Page getAllisPutawaySection(QueryExt queryExt);

    /**
     * 通过用户id查询课程所有的章节
     */
    List<CourseManageSectionEntity> manageSectionByUid(Integer uid, Integer id);

    /**
     * 获取所有的上架的章节
     */
    Page getAllIsPutAwaySection(QueryExt queryExt) throws MyException;

    /**
     * 获取上/下章节
     */
    CourseManageSectionEntity getSectionBySort(Integer type, Integer sort,Integer programid);

    /**
     * 获取签名接口
     * @param isTranscode 是否转码
     * @param isScreenshot 是否截图
     * @return
     * @throws ServiceException
     */
    String getSign(Integer isTranscode, Integer isScreenshot) throws ServiceException;

    Object getInfoByFileId(VodParam vodParam) throws Exception;

    /**
     * @param fileId
     * @param duration
     * @throws Exception
     */
//    void GetVideoInfo(String fileId, Integer duration) throws Exception;


}
